package com.settlement.system.model.entity.common;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单稽核单据明细表
 * @author he.xx
 * @since 2021-05-31
 */
@Data
@ExcelIgnoreUnannotated
@HeadStyle(fillBackgroundColor = 9,fillForegroundColor = 9)
@HeadRowHeight(value = 20)
@HeadFontStyle(fontHeightInPoints = 14)
public class TblOrderAuditBillDtlVo extends BaseModel implements Serializable {

    /**
     * 单据编码
     */
    @ExcelProperty(index = 0,value = "单据编码")
    @ApiModelProperty(value = "单据编码")
    private String billNo;

    /**
     * 单据编码
     */
    @ExcelProperty(index = 1,value = "原始外部订单号")
    @ApiModelProperty(value = "原始外部订单号")
    private String origialSpOrderNo;

    /**
     * 渠道编码
     */
    @ExcelProperty(value = "渠道编码")
    @ApiModelProperty(value = "渠道编码")
    private String channelNo;

    /**
     * 渠道
     */
    @ExcelProperty(index = 2,value = "渠道")
    @ApiModelProperty(value = "渠道")
    private String channelName;

    /**
     * 损失原因编码
     */
    @ExcelProperty(value = "损失原因编码")
    @ApiModelProperty(value = "损失原因编码")
    private String lossReasonNo;

    /**
     * 损失原因
     */
    @ExcelProperty(index = 3,value = "损失原因")
    @ApiModelProperty(value = "损失原因")
    private String lossReasonName;

    /**
     * 损失原因细则编码
     */
    @ExcelProperty(value = "损失原因细则编码")
    @ApiModelProperty(value = "损失原因细则编码")
    private String lossReasonDtlNo;

    /**
     * 损失原因细则名称
     */
    @ExcelProperty(index = 4,value = "损失原因细则名称")
    @ApiModelProperty(value = "损失原因细则名称")
    private String lossReasonDtlName;

    /**
     * 责任部门跟进结果
     */
    @ExcelProperty(index = 5,value = "责任部门跟进结果")
    @ApiModelProperty(value = "责任部门跟进结果")
    private String responsibleResults;

    /**
     * 是否确认损失(0不确认 1确认)
     */
    @ExcelProperty(index = 6,value = "是否确认损失(0不确认 1确认)")
    @ApiModelProperty(value = "是否确认损失(0不确认 1确认)")
    private Integer isLoss;

    /**
     * 备注
     */
    @ExcelProperty(index = 7,value = "备注")
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * 质检时间
     */
    @ExcelProperty(index = 8,value = "质检时间")
    @ApiModelProperty(value = "质检时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date qualityDate;

    /**
     * 质检优购子订单号
     */
    @ExcelProperty(index = 9,value = "质检优购子订单号")
    @ApiModelProperty(value = "质检优购子订单号")
    private String qualityBillNo;

    /**
     * 质检数量
     */
    @ExcelProperty(index = 10,value = "质检数量")
    @ApiModelProperty(value = "质检数量")
    private Integer qualityQty;

    /**
     * 打款时间
     */
    @ExcelProperty(index = 11,value = "打款时间")
    @ApiModelProperty(value = "打款时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date paymentTime;

    /**
     * 收款交易号
     */
    @ExcelProperty(index = 12,value = "收款交易号")
    @ApiModelProperty(value = "收款交易号")
    private String collectionTransactionNo;

    /**
     * 收款金额
     */
    @ExcelProperty(index = 13,value = "收款金额")
    @ApiModelProperty(value = "收款金额")
    private BigDecimal receivingAmount;

    /**
     * 盘盈单号
     */
    @ExcelProperty(index = 14,value = "盘盈单号")
    @ApiModelProperty(value = "盘盈单号")
    private String inventoryBillNo;


    /**
     * 订单稽核单据状态编码
     */
    @ApiModelProperty(value = "单据编码")
    private String orderBillStatusNo;

    /**
     * 订单稽核单据状态名称
     */
    @ApiModelProperty(value = "订单稽核单据状态名称")
    private String orderBillStatusName;

    /**
     * 责任方编码
     */
    @ApiModelProperty(value = "责任方编码")
    private String responsibleNo;

    /**
     * 责任方
     */
    @ApiModelProperty(value = "责任方")
    private String responsibleName;

    /**
     * 客服初步核实人
     */
    @ApiModelProperty(value = "客服初步核实人")
    private String firstServicePerson;

    /**
     * 客服初步核实人名称
     */
    @ApiModelProperty(value = "客服初步核实人名称")
    private String firstServicePersonName;

    /**
     * 责任部门核实人
     */
    @ApiModelProperty(value = "责任部门核实人")
    private String responsiblePerson;

}
